﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms.CondicionesIVA
{
    public partial class frmCondicionIVA : Form
    {
        DisancoEntities context;
        DataTable dtCondiciones;

        public frmCondicionIVA()
        {
            InitializeComponent();
            dtCondiciones = new DataTable();
            dtCondiciones.Columns.Add("id");
            dtCondiciones.Columns.Add("Sigla");
            dtCondiciones.Columns.Add("Descripcion");

            cargarTabla();
        }

        void cargarTabla()
        {
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);
            dtCondiciones.Rows.Clear();

            foreach (var cond in context.CondicionIVA)
            {
                DataRow fila = dtCondiciones.NewRow();
                fila["id"] = cond.condicion_id;
                fila["Sigla"] = cond.condicion_sigla;
                fila["Descripcion"] = cond.condicion_nombre;

                dtCondiciones.Rows.Add(fila);
            }

            dgvCondiciones.DataSource = dtCondiciones;
            dgvCondiciones.Columns["id"].Visible = false;
            dgvCondiciones.Columns["Descripcion"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvCondiciones.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvCondiciones.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvCondiciones.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            frmAgregarCondicion nuevaCond = new frmAgregarCondicion();
            nuevaCond.ShowDialog();
            cargarTabla();
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                var result = MessageBox.Show("¿Seguro que desea eliminar esta Condicion?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (result == System.Windows.Forms.DialogResult.Yes)
                {
                    int id = Convert.ToInt32(dgvCondiciones.CurrentRow.Cells["id"].Value);

                    var cond = context.CondicionIVA.FirstOrDefault(c => c.condicion_id == id);

                    context.CondicionIVA.DeleteObject(cond);
                    context.SaveChanges();
                    cargarTabla();
                }
            }
            catch
            {
                MessageBox.Show("No se puede eliminar una categoria si esta asignada a algun cliente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}
